草庐IT

javascript - X 秒后执行 JavaScript

全部标签

javascript - 根据对象日期的年份将对象数组拆分为新数组

我有一个名为objarray的对象数组。每个对象看起来像这样:varobject={age:"45"coords:"-37.807997144.705784"date:SunJul28200200:00:00GMT+1000(EST)}(日期是一个日期对象)我需要根据日期将每个对象推送到一个新数组中。我希望最终结果如下所示:vardateGroups=[[object,object,object],[object,object],[object,object,object]];dateGroups中的每个数组都包含具有相同日期的对象。这可能与数组有关吗?之前我生成了一个新对象,其中包含

javascript - 在javascript中获取导致错误的调用堆栈

问题是一般情况下无法获取调用堆栈,这可以按照此处所述进行:http://eriwen.com/javascript/js-stack-trace/而是从事件处理程序访问触发事件的调用堆栈。特别是我对记录窗口错误事件的调用堆栈很感兴趣window.onerror=function(msg,url,line){//callstack//wouldbenicetohave.//logcallstackorwhatever.(notethiscanbedonew/ajaxandservice,andisnotthequestionathand.}但我确实知道如何记录错误。(我使用jquery的

javascript - 在 javascript 中调试闭包

当我尝试调试包含大量闭包的javascript代码时,我会使用它来放置断点。然后我去看堆栈,但大多数时候我只看到一个充满匿名函数的调用堆栈,这对我来说是一场噩梦。在javascript中调试闭包的最佳方法是什么? 最佳答案 您可以为回调函数添加名称。这样函数名称将在调试期间显示。以jQuery为例$('div').each(functiondivLoop(){..});在OOPJavascript中,通常将函数作为方法名来调用MyClass.prototype.methodName=functionmethodName(){...}

javascript - 代码不会在 $(document).ready 中执行,但会在开发人员控制台中执行

我有一些代码包装在$(document).ready(function(){/*code*/});中,除了一行之外,所有代码都工作正常。上面的代码工作正常,下面的代码工作正常,我的控制台没有收到任何错误。$('.main-right.category').height($('.footer').height()+$('.main-right.category').height());那不火。但是,如果我将它准确地粘贴到开发人员控制台中并在页面加载后按回车键,它就可以工作了。所有元素都存在于页面加载时(意味着没有元素是通过javascript动态构建的)。在chrome、firefox、

javascript - 用 window.find() 匹配所有出现的地方

例如,如果我有一个如下所示的HTML网页HelloTechies,Techieshere.如果我使用搜索“Techies”varsel=window.getSelection();sel.collapse(document.body,0);document.body.offsetHeight;if(window.find("Techies",true)){document.execCommand("hiliteColor",false,"YellowGreen");sel.collapseToEnd();}它仅突出显示“技术人员”的第一次出现。但是当我使用Ctrl+F搜索时,第一个出现

javascript - 如何在 JavaScript 中将对象数组转换为映射对象?

如何将JSON对象的initialArray数组转换为finalObject映射?varinitialArray=[{id:'id1',name:'name1'},{id:'id2',name:'name2'},{id:'id3',name:'name3'},{id:'id4',name:'name4'}];varfinalObject={'id1':'name1','id2':'name2','id3':'name3','id4':'name4'}需要考虑的事项:ID是字符串。我在循环中尝试了-无法使其工作-http://jsfiddle.net/5af9R/23/有什么想法吗?

javascript - 强调 throttle +确保最后一次通话

Underscore提供了方法,throttle。来自他们的文档:创建并返回所传递函数的新的throttle版本,当重复调用时,每等待毫秒最多只会实际调用一次原始函数。对于发生速度快于您无法跟上的速率限制事件很有用。现在想象一下自动完成表单的情况。这意味着,如果在100毫秒窗口内键入“abc”,则只会发送对“a”的搜索,而不是“bc”。这是对underscore.js的严重疏忽吗?作为干净的解决方案,您会建议什么? 最佳答案 对于此用例,您可能希望使用以下“缓冲”函数,它将仅应用等待窗口中的最后一次调用。https://gist.g

javascript - 正确删除匿名函数事件处理程序

我正在尝试弄清楚如何最好地使用jQuery删除匿名事件处理程序。我定义了一个变量来保存我的jQuery对象:vardom=$('#private-module');稍后在我的对象中:run:function(){varbutton,that=this;button=dom.append('ClickMe');button.on('click',function(event){console.log('Clicked!');that.destroy();});},destroy:function(){varbutton;button=dom.find('.btn');button.off

javascript - 将值传递给 Express 路由的 Node js 模块

我想将Express的环境传递给Express的路由模块。我想确定Express是在开发模式还是生产模式下运行。为此,我猜我需要以某种方式将app.settings.env传递给路由模块。我的路由模块为每条路由导出一个函数。所以:app.get('/search',web.search);根据之前的stackoverflow帖子,我试过这个:varweb=require('./web')({'mode':app.settings.env});但是Node抛出类型错误(对象不是函数)。我是Node和Express的新手。我可以将值传递给快速路由吗?如果可以,如何传递?

javascript - 删除 Javascript 中的空格

这里是Javascript的super新手。我对空白有疑问,希望有人能帮助我。我有一个看起来像这样的函数:functioncreateLinks(){vari=0;tbody=document.getElementsByTagName('tbody')[3];console.log('testorderID:'+document.getElementsByTagName('tbody')[3].getElementsByTagName('tr')[0].getElementsByTagName('td')[1].textContent.replace(/^\s+|\s+$/g,''))